package net.xdclass.model;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import net.xdclass.config.typeHandler.LocalDateTimeTypeHandler;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author lhw
 * @since 2023-07-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("wx_order_info")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WxOrderInfoDO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id 默认使用雪花
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 应用ID
     */
    private String appid;

    /**
     * 直连商户号
     */
    private String mchid;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 商户订单号
     */
    private String outTradeNo;

    /**
     * 交易结束时间
     */
    @TableField(typeHandler = LocalDateTimeTypeHandler.class)
    private LocalDateTime timeExpire;

    /**
     * 附加数据
     */
    private String attach;

    /**
     * 通知地址
     */
    private String notifyUrl;

    /**
     * 订单优惠标记
     */
    private String goodsTag;

    /**
     * 电子发票入口开放标识
     */
    private Integer supportFapiao;

    /**
     * 总金额
     */
    private Integer total;

    /**
     * 货币类型 CNY：人民币，境内商户号仅支持人民币。	示例值：CNY
     */
    private String currency;

    /**
     * 创建用户id
     */
    private Long ctUserId;

    /**
     * 创建时间
     */
    @TableField(value = "ct_date", fill = FieldFill.INSERT)
    private LocalDateTime ctDate;

    /**
     * 修改用户id
     */
    private Long ltUsetId;

    /**
     * 修改时间
     */
    @TableField(value = "lt_date", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime ltDate;


}
